# from My_model import my_file
import my_file

# import My_model as My
import pandas as pd

import my_time
import my_mysql
import my_logger
from datetime import datetime
# 方式1: 导入整个模块
from my_color import *

# 方式2: 导入特定函数
from my_color import cprint, info, success, error

# 方式3: 导入类
from my_color import TerminalColor

import my_color


if __name__ == "__main__":

    # 方法1: 使用全局函数
    print("=== 使用全局函数 ===")
    cprint("这是红色文本", color=RED)
    cprint("这是绿色背景的文本", color=WHITE, bg_color=BG_GREEN)
    cprint("这是加粗的蓝色文本", color=BLUE, style=BOLD)

    # 方法2: 使用快捷方法
    print("\n=== 使用快捷方法 ===")
    info("这是一条信息")
    success("操作成功!")
    warning("这是一个警告")
    error("发生错误!")
    debug("调试信息")
    highlight("重要内容!")

    # 方法3: 使用类方法
    print("\n=== 使用类方法 ===")
    TerminalColor.print("黄色文本", color=YELLOW)
    TerminalColor.preset("自定义预设文本", "info")

    # 方法4: 使用全局实例
    print("\n=== 使用全局实例 ===")
    tc.print("青色文本", color=CYAN)
    tc.success("成功消息")

    # 方法5: 获取着色文本但不打印
    print("\n=== 获取着色文本 ===")
    colored_text = colorize("这是着色的文本", color=MAGENTA, style=UNDERLINE)
    print(f"普通文本 + {colored_text} + 普通文本")

    # 组合使用
    print("\n=== 组合使用 ===")
    cprint("红底白字", color=BRIGHT_WHITE, bg_color=BG_RED, style=BOLD)

    # 使用预定义颜色常量
    print("\n=== 使用颜色常量 ===")
    cprint("亮绿色文本", color=BRIGHT_GREEN)
    cprint("亮黄色背景", bg_color=BG_BRIGHT_YELLOW)

    exit()

    db_config = {
        "1": {
            "host": "localhost",
            "user": "root",
            "password": "Dydy@123dydy",
            "database": "risk",
        },
        "2": {
            "host": "localhost",
            "user": "root",
            "password": "Dydy@123dydy",
            "database": "test",
        },
    }

    db_config["database"] = "test"
    print(db_config)

    exit()

    df = pd.DataFrame({"col1": [1, 2], "col2": [3, 4]})
    # my_file.save_to_excel(df, 'out','test' ,sheet_name='t1')
    # My.save_to_excel(df, 'out','test2' ,sheet_name='t2')

    # 创建 logger 实例
    logger = my_logger.logger(
        name="MyApp",
        log_to_console=True,
        log_to_file=True,
        log_file="app_log.txt",
        separator=" | ",
    )
    logger.info("程序开始运行")
    logger.error("发生了一个错误")
    logger.debug("这是一个调试信息")
    logger.warning("这是一个警告信息")
    logger.info("程序结束运行")

    exit()

    my_time.work_time_class()

    print(my_time.work_time_class("day", datetime(1998, 5, 14, 7, 30)))
    print(my_time.work_time_class("week", datetime(1998, 5, 14, 7, 30)))
    print(my_time.work_time_class("month", datetime(1998, 5, 14, 7, 30)))
    print(my_time.work_time_class("year", datetime(1998, 5, 14, 7, 30)))

    # exit()

    worktime = my_time.work_time()
    print(worktime)

    exit()

    # pandas 模拟大量数据

    # data = [
    #     {'id': i, 'name': f'Item {i}', 'price': i * 10}
    #     for i in range(1, 10001)
    # ]

    # 替换原来的循环代码
    data = [{"id": i, "name": f"Item {i}", "price": i * 10} for i in range(1, 10001)]
    df = pd.DataFrame(data)

    path = "/home/w-dingyu01@uos/dy外网/My_model/out/out.xlsx"

    # my_file.chunked_export(df.iloc[:5000],path,chunk_size=1000,sheet_name='t1')

    # ======================================================================================================
    conn, cursor = my_mysql.connect_db("localhost", "root", "Dydy@123dydy", "risk")

    my_mysql.delete_table(conn, cursor, "test", "t1")
    my_mysql.delete_database(conn, cursor, "test")

    my_mysql.create_database(conn, cursor, "test")
    my_mysql.create_table(conn, cursor, "test", "t2")
    my_mysql.insert_data(conn, cursor, "test", "t2", 100)

    conn, cursor = my_mysql.connect_db("localhost", "root", "Dydy@123dydy", "test")
    sql = "select * from test.t2"
    my_mysql.execute_sql(conn, cursor, sql)
    data = cursor.fetchall()
    print(data[:5])

    # 表头字段
    sql = "select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where table_name = 't2'"
    my_mysql.execute_sql(conn, cursor, sql)
    data = cursor.fetchall()
    print(data[:5])

    my_mysql.close_db(conn, cursor)

# ======================================================================================================
